package com.dspobox;

import java.io.IOException;
import java.util.ArrayList;
import java.util.List;


import junit.framework.TestCase;

public class DSPOBoxMonoTest extends TestCase {

//	public void test_function() throws IOException {
//		DSPOBoxMono p = new DSPOBoxMono();
//		
//		Dict dict = new Dict("learndic");
//		p.usedict(dict);
//		p.searchmode(0);
//		
//		search(p, "m");
//		p.select(2);
//		search(p, "ma");
//		p.select(1);
//		search(p, "mas");
//		search(p, "masu");
//		search(p, "neko");
//	}

	public void test_select() throws IOException {
		DSPOBoxMono p = new DSPOBoxMono();
		
		Dict dict = new Dict("testdic");
		p.usedict(dict);
		p.searchmode(0);
		
		search(p, "uri");
		p.select(1);
		search(p, "uri");
		dict.save();
	}

	public void test_word_add() throws IOException {
		DSPOBoxMono p = new DSPOBoxMono();
		
		Dict dict = new Dict("testdic");
		p.usedict(dict);
		p.searchmode(0);
		
		search(p, "uri");
		
		dict.regword("\u5916\u90e8\u526f\u8cbb", "gaibufukuhi", null);
		
//		// del test
//		p.delword(dict, "\u5916\u90e8\u526f\u8cbb");
		
		dict.saveAs("testdic.save");
	}

	public void test_context() throws IOException {
		DSPOBoxMono p = new DSPOBoxMono();
		
		Dict dict = new Dict("testdic");
		p.usedict(dict);
		p.searchmode(0);
		
		p.context("test0");
		search(p, "mae");

		p.context("test1");
		search(p, "mae");
	}

	private void search(DSPOBoxMono p, String word) {
		int n = p.search(word);
		
		List<String> cands = new ArrayList<String>();
		List<String> candpats = new ArrayList<String>();
		
		p.getcands(cands,candpats, 0, n);
		for (String s: cands)
			System.err.println("  " + s);
		System.err.println("----------------------");
	}
}
